Storage network system

ABSTRACT

In a storage network system, a Frame relay device contains a cache memory for storing read data read from a storage device. The storage apparatus, when receiving a read request from a host machine, carries out processing of sending the data to the Frame relay device with addition of instructions for storing the data therein and when the read request is made to the same data again, processing of instructing the Frame relay device to send the data to a specified host machine. The Frame relay device carries out processing of sending the data stored in itself to the specified host machine.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority from Japanese Patent ApplicationNo. JP 2005-65717 filed on Mar. 9, 2005, the content of which is herebyincorporated by reference into this application.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to a storage network system and moreparticularly a technology which is effective for application to anetwork system having a Frame relay device between an upper levelapparatus (e.g. host machine) and a storage device.

BACKGROUND OF THE INVENTION

In a storage network system (e.g. a Storage Area Network (SAN) or astorage network adopting Internet Protocol (IP)) which can be connectedto plurality of host machines, improvement of access response to theplural host machines is required with rapid expansion of the storagenetwork today. In most cases, the connection style of theabove-described system is of “client to server system” type. And thestorage apparatus is usually operated with many read requests more thanwrite requests, like a Web Server system.

On the other hand, to meet such demand for high loads, the storageapparatus contains a high speed cache memory but the cache memorycapacity is limited. Further, because of increase of apparatus cost,generally, the cache memory capacity is not so large except for somehigh-end apparatuses. Due to rapid increase of disk capacity andhigh-density mounting on the storage device, which are another factor,cache hit rate drops due to a drop in the ratio between the cache memorycapacity and disk capacity and consequently, deterioration of responseis feared.

Such an expansion of the network represented by the SAN generates anincrease in the numbers of host machines capable of accessing thestorage system. Because each of the respective host machines accesses tothe storage apparatus for requiring a different data (files), it isimpossible to store all of those files in the cache memory and the lowcache hit rate causes slowdowns of response.

Further, even if the storage device includes a large capacity cachememory, the data transmission band of its interface is limited. Thus, toimprove the band performance, the storage device needs to include aplurality of interface ports and combine with load distribution (loadbalance) control or the like, which is a large burden in cost field.

Thus, as described in patent document 1 (Japanese Patent ApplicationLaid-Open Publication No. 11-112541), there is such a method that aFrame relay device having a cache memory is realized and data is cacheddepending on decision of the Frame relay device itself. Further, asdescribed in patent document 2 (Japanese Patent Application Laid-Openpublication No. 2000-353125), there is available technology concerningunified control on cache memories disposed dispersedly on respectivehierarchized control units.

According to the technology described in the patent document 1, theFrame relay device itself monitors a packet or the like and cache it.Thus, if there exist Frame relay devices of the same type on the sameroute, it comes that each relay device caches a plurality of same datain the cache memory of them. Therefore, the efficiency is poor in theabove case. Further, it can be considered that only partial data that ahost machine requires is cashed on the Frame relay device in some cases.If nothing but part of data demanded form the host machine is cached,the Frame relay device needs to operate such a complicated process asconverting commands issued form the host machine to commands for storageapparatus for the purpose to send remaining data of the partial data,and then an excessively large-scale hardware is needed for such acomplicated processing.

Thus, the present invention has solved the above-mentioned problem. Afirst object of the present invention is to provide technology relatingto make simple the hardware (circuit scale) of the Frame relay deviceand that process to be simple on a storage network system which isconstructed by the Frame relay devices, the host machines and thestorage apparatus.

According to the technology described in the patent document 2, itspurpose is to improve the cache hit rate by increasing the cache memorycapacity with I/O cache memory of an I/O control unit which is a memoryresource existing inside the storage apparatus, controller cache memoryof the storage controller, and device cache memory of the storagedevice. However it is not considered about reduction of the datatransmission band,

In other words, storage apparatus discussed in document 2 is equivalentto the conventional storage apparatus in which the respective cachememory capacities are summed up, in the situation where theirperformances are compared in terms of the maximum effect withoutconsidering the overhead and the transmission band limit of each I/Fbus. Thus, because the storage apparatus discussed in document 2 is moreexcellent only in terms of cost, it is difficult to meet demands, in theconventional for quickly responding when many accesses from plural hostmachines concentrated, which the present invention handles, like theconventional unit.

It comparing further in realistic way, these technology discussed indocument 2 shares an interface with the I/O control unit and deviceexcept the controller cache memory to access a memory. Thus, thetransmission band of each interface bus is consumed by memory and I/Oaccess. If the occupation ratio of the interface bus increases, itbecomes difficult to perform multiplexing and parallel execution ofcommands and then causes low performance. That because data transmissionexceeding the transmission band of the interface bus is impossible.Thus, a bottle neck in the performance is likely to occur. To avoidthese disadvantages, it is necessary to add interface buses or improvethe band. In such a situation, it cannot be said that it is always moreexcellent than the conventional apparatus in terms of cost.

Accordingly, the present invention has solved the above-mentionedproblem. A second object of the invention is to provide technology whichenables improvement of response to a demand from the host machinewithout consuming the data transmission band by avoiding an event thatthe storage apparatus itself turns to a bottle neck in the systemperformance.

Of the invention disclosed in this patent application, typical aspectsthereof are as follows.

SUMMARY OF THE INVENTION

The present invention is applied to a storage network system whichincludes Frame relay devices for relaying data read/write requests froma host machine to a storage apparatus. The Frame relay device isprovided between the host machine and the storage apparatus thatcomprises a storage device for storing data and a storage controller forcontrolling the data read/write to the storage device, and has thefollowing features.

(1) The Frame relay device contains a cache memory for storing the readdata transmitted from the storage apparatus. The storage apparatuscarries out processing of before the data sending to the Frame relaydevice, issue the command for storing the data in the cache memory ofthe Frame relay device when receiving data read request from the hostmachine. Then any host machine issues a read request for the same dataagain, the storage apparatus issues a command to the Frame relay deviceto send that data to a specified host machine. On the other hand, theFrame relay device carries out processing of sending the data stored inthe cache memory of itself to the specified host machine.

(2) The Frame relay device contains a battery for supplying voltage atthe time of power failure.

(3) The Frame relay device carries out processing of storing part of thedata when it caches the data. Then, the storage apparatus issues acommand to the Frame relay device for transmitting part of the data, andread the remaining data in the storage device while the Frame relaydevice is transmitting part of the data to a specified host machine, andsend that read data.

(4) The Frame relay devices are provided in plural numbers and therespective Frame relay devices are disposed between the storageapparatus and the host machine on plural routes.

(5) The storage apparatus includes a means for selecting the Frame relaydevice and a table for controlling position information of the Framerelay device in order to issue a command to the Frame relay device.

(6) Each of the respective Frame relay devices on plural routes executesprocessing of storing different data,

(7) Processing of storing specified same data in plural Frame relaydevices on the same route within the plural routes is carried out.

(8) A first Frame relay device specified by a specification of thestorage controller sends data to a second Frame relay device. The secondFrame relay device verifies data,

(9) Each Frame relay device carries out processing of destroying cacheddata in any case where no transmission request is made for specific dataover a predetermined time, where the entry of storage apparatus isdeleted from a route table, where the remaining capacity in the cachememory is smaller than data requested to be cached, or abnormality isdetected at the time of data verification.

(10) Each Frame relay device carries out processing of destroying thecached data according to a command of the storage apparatus.

(11) Each Frame relay device assigns a cache area of a specified volumeto each of the storage controller preliminarily. The storage controllergrasps a capacity assigned to itself by inquiry and controls each Framerelay device not to execute cache request over the assigned capacity.

(12) Each Frame relay device, when a change over a specified leveloccurs in an area in which the cache area is capable of being assignedby deleting the cached data, carried out processing of sending a messageto the storage controller.

The storage controller carries out processing of grasping a capacityassigned to itself by inquiry in accordance with receipt of the message.

(13) The storage apparatus selects a first port for each Frame relaydevice and if data transmission load to the first port is over aspecified volume, the storage apparatus sets permission for assignmentof data to the second port corresponding to the first port.

(14) Each Frame relay device automatically controls to output a part ofthe data to the second port corresponding to the first port when thedata transmission load to the first port is over a threshold set by thestorage apparatus.

(15) Of the plural Frame relay devices, a third Frame relay devicecontrols different interfaces of two or more kinds by independent switchfunctions. The cache memory provided on the third Frame relay device isaccessible from each of the different interfaces.

(16) The third Frame relay device is disposed on the back end side ofthe storage apparatus and connected to a device in the storageapparatus.

(17) The third Frame relay device transfers two or more duplicated datato plural devices specified by a specification of the storagecontroller.

(18) The third Frame relay devices are provided in plural numbers. Ofthe plural third Frame relay devices, one Frame relay device specifiedby a specification of the storage controller sends data to redundantFrame relay device of other system. The Frame relay device of the othersystem verifies data.

(19) The third Frame relay devices are provided in plural numbers. Ofthe plural third Frame relay devices, a fourth Frame relay device has aprotocol converting unit for converting between different interfaces oftwo or more kinds. And the fourth Frame relay device executes mutualdata exchange between the different interfaces mutually.

(20) The protocol converting unit converts an ordered set with controlcode in transmission/receiving. The control code after conversion istransmitted as data having a different identifier,

The effects attained by the typical aspects of the invention disclosedby this application are as follows.

According to the present invention, by simplifying the processing of theFrame relay device in the storage network system having Frame relaydevices provided between the host machines and storage apparatus, thehardware (circuit scale) of the Frame relay device can be constructedrelatively simply.

Further according to the present invention, by avoiding such an eventthat the storage apparatus itself turns to a bottle neck in the systemperformance, the response to a request from the host machine can beimproved without consuming the data transmission band.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 is a diagram showing a model of the storage network systemaccording to the first embodiment of the present invention;

FIG. 2 is a diagram showing the appearance (front view and rear view) ofa stand-alone type Frame relay device in the storage network systemaccording to an embodiment of the present invention;

FIG. 3 is a diagram showing functional blocks of the storage networksystem according to the embodiment of the present invention;

FIG. 4 is a diagram showing the structure of a root table example in astorage device in the storage network system according to the embodimentof the present invention;

FIG. 5 is a diagram showing the structure of a root table example in thestorage device in the storage network system according to the embodimentof the present invention;

FIG. 6 is a diagram showing the structure of an external cache tableexample in the storage device in the storage network system according tothe embodiment of the present invention;

FIG. 7 is a diagram showing the structure of a cache control tableexample in a Frame relay device in the storage network system accordingto the embodiment of the present invention;

FIG. 8 is a diagram showing a flow of processing in case where the Framerelay device is made to cache and in case where the Frame relay deviceis made to transmit the cached data in the storage network systemaccording to the embodiment of the present invention;

FIG. 9 is a diagram showing a flow of processing in case where the Framerelay device is made to cache and in case where the Frame relay deviceis made to transmit the cached data in the storage network systemaccording to the embodiment of the present invention, continued fromFIG. 8;

FIG. 10 is a diagram showing a flow of the processing in case where theFrame relay device is made to abolish the cached data (at the times ofdata updating and storage apparatus initialized) in the storage networksystem according to the embodiment of the present invention;

FIG. 11 is a diagram showing the flow of processing in case where theFrame relay device is made to compare the cached data in the storagenetwork system according to the embodiment of the present invention;

FIG. 12 is a diagram showing the flow of processing in case where theFrame relay device is made to compare the cached data in the storagenetwork system according to the embodiment of the present invention,continued from FIG. 11;

FIG. 13 is a diagram showing a model of the storage network systemaccording to a first application example of the embodiment of thepresent invention;

FIG. 14 is a diagram showing the flow of processing in case forrealizing automatic load balance control in the storage network systemaccording to the first application example of the embodiment of thepresent invention;

FIG. 15 is a diagram showing the appearance of mounting onto blade typesystem in the storage network system according to a second applicationexample of the embodiment of the present invention;

FIG. 16 is a diagram showing the functional blocks of the storagenetwork system according to the second application example of theembodiment of the present invention;

FIG. 17 is a diagram showing the internal block (example of single-CPUconfiguration) of a back-end type Frame relay device in the storagenetwork system according to the second application example of theembodiment of the present invention;

FIG. 18 is a diagram showing the internal block (example of double-CPUconfiguration) of a back-end type Frame relay device in the storagenetwork system according to the second application example of theembodiment of the present invention;

FIG. 19 is a diagram showing the flow of processing at the time of datawrite of the storage device to a disk in the storage network systemaccording to the second application example of the embodiment of thepresent invention;

FIG. 20 is a diagram showing the flow of the processing at the time ofdata write of the storage device to a disk in the storage network systemaccording to the second application example of the embodiment of thepresent invention, continued from FIG. 19;

FIG. 21 is a diagram showing the flow of processing at the time of dataread of the storage device from a disk in the storage network systemaccording to the second application example of the embodiment of thepresent invention;

FIG. 22 is a diagram showing the flow of processing at the time of dataread of the storage device from a disk in the storage network systemaccording to the second application example of the embodiment of thepresent invention, continued from FIG. 21;

FIG. 23 is a diagram showing the functional blocks of the storagenetwork system according to a third application example of theembodiment of the present invention;

FIG. 24 is a diagram showing mechanism for FC-LAN conversion in thestorage network system according to the third application example of theembodiment of the present invention; and

FIG. 25 is a diagram showing the flow of the processing of the FC-LANconversion in the storage network system according to the thirdapplication example of the embodiment of the present invention.

DECSRIPTION OF THE PREFERRED EMBODIMENTS

<Concept of the Present Invention>

The storage network system of the present invention possesses a Framerelay device between a host machine and a storage apparatus. The Framerelay device contains a cache memory. When receiving a data read requestfrom the host machine, the storage apparatus sends the data with acommand for storing that data in a cache memory of the Frame relaydevice. If the host machines issues an access request for the same dataagain, the storage apparatus transmits to the Frame relay device acommand for sending the data to a specified host machine. Then, theFrame relay device sends data cached by its own cache memory to the hostmachine. Consequently, speed-up of response to data read request fromthe host machine is carried out. Further, because the Frame relay deviceonly executes a specific response based on a command from the storageapparatus side, its hardware (circuit scale) can be formed in arelatively simple structure.

In the processes, as for large data, the Frame relay device caches, forexample, part of the large data from the top. While the Frame relaydevice is sending the data to the host machine, the storage apparatusaccesses remaining data in the storage device such as an incorporatedhard disk drive (HDD). Consequently, the overhead is reduced.

Plural Frame relay devices are disposed with respect to plural hostmachines on plural routes. The storage apparatus makes the respectiveFrame relay devices store different data. Consequently, the cache memorycapacity can be increased easily.

The method of the present invention can be widely applied to a networkFrame relay device of a network switch, rooter in network attachedstorage (NAS), a fiber channel switch in the storage area network (SAN),an expander of serial attached SCSI (SAS) and the like.

For example, if it is designed that the cache function can be utilizedthrough such a frame converting unit as fiber channel to SAN (FC-SAN),internet protocol to SAN (IP-SAN) and the like, an objective networkcoverage area can be expanded further. For example, an application likenear line storages such as SAS can be connected through wide areanetwork (WAN).

The present invention can be applied to a switch unit which is disposedbetween a storage controller unit in the storage apparatus and the caseof a storage device such as HDD. In this case, not only this isincorporated but also it is possible to constitute a switch under ablade server such as NAS header.

Further, the present invention can be applied to automatic load balancecontrol by recognizing a Frame relay device and port based on a bridgeID or the like without necessity of support by host program or the like.

Hereinafter, the embodiments and application examples of the presentinvention will be described in detail with reference to the accompanyingdrawings. In the meantime, same reference numerals are attached to thesame components in all drawings for explaining the embodiments andapplication examples, however repeated description thereof is omitted.

Embodiment

[Model of Storage Network System]

An example of the model of the storage network system according to anembodiment of the present invention will be described with reference toFIG. 1. FIG. 1 shows a model of the storage network system.

The model of the storage network system of this embodiment comprises astorage apparatus 10 composed of a disk array or the like, eight Framerelay devices A-H (30) which relay data write and read request from thehost machine to this storage apparatus 10 and eight host machines A-H(50) connected to this Frame relay device 30.

If the technology of the patent document 1 described previously isapplied to the model of the storage network system, following occurs.For example, if a host machine A reads data from the storage apparatus10 in conditions in which nothing is cached in the Frame relay device30. Frame relay devices located on a route relay the read data to thehost machine A and at the same time, caches to themselves. As a result,it comes that the Frame relay devices A, B, C store the same data. Thismeans that the cache memory of the Frame relay device 30 cannot be usedefficiently.

Further, it comes that the Frame relay device C responds to a readrequest for the same data from the host machine A on the cache memory ofthe Frame relay device C. At this time, if a host machine D having aroute not through the Frame relay device C has updated that data, theFrame relay device C cannot sense the update. Thus, it comes that theFrame relay device C responds with old data through its own cache memoryand there exists a case where no proper data can be obtained.

According to this embodiment, although described in detail later, theFrame relay device 30 caches only read data of the host machine 50according to a command of the storage apparatus 10. By providing theFrame relay device 30 with this cache memory, data flowing at a point Ais only data at the time of cache misfit. By controlling the cache stateof each Frame relay device 30 by the storage apparatus 10 side, a systemensuring an improved memory usage efficiency can be built up. The Framerely device 30 does not cache any write data from the host machine 50.This is because data lost on the route should be prevented. Generally,in accessing to the storage apparatus 10, data read cases are largerthan data write cases (write: read=about 1:5). In case of Web data andthe like, it is not rare that 90% or more requests are for read. Fromthose viewpoints, the response performance can be improved by cachingonly read data.

[Appearance of Frame Relay Device]

An example of the stand-alone type Frame relay device in the storagenetwork system of this embodiment will be described with reference toFIG. 2. FIG. 2 shows the appearance (front view and rear view) of thestand-alone type Frame relay device.

The Frame relay device 30 is of, for example, stand-alone type andcomprises a power unit composed of AC/DC power supply, uninterruptiblepower supply (UPS) composed of battery, a control unit composed of CPU,data controller, memory, and director, cache memory module unit composedof cache memory and the like and is received in a module unit. Underthis structure, dual power units are received so as to constitute ofduplex.

The cache memory module units can be installed additionally, if needed.This cache memory module unit receives plural memory modules. This cachememory module unit is connected with a connector such as peripheralcomponent interconnect (PCI)-express or the like, which is preferredto-be removable. Further, the cache memory module unit can be replacedwith an I/F unit which is a different type unit.

An I/F connector port connected to the director is provided on a frontface of this Frame relay device 30. A power unit switch, a fan and an ACconnector to which an AC cable is to be connected are provided on a rearface of the Frame relay device 30.

[Configuration of Storage Network system]

An example of the storage network system of this embodiment will bedescribed with reference to FIG. 3. FIG. 3 shows the functional blocksof the storage network system.

The storage network system shown in FIG. 3 indicates a type which isprovided by downsizing of the model in FIG. 1. The storage networksystem comprises a storage apparatus 10 composed of a disk array deviceand the like, three Frame relay devices 30 for relaying data write/readrequest from the host machine to this storage apparatus 10 and four hostmachines 50 constituted of information processing units and the likeconnected to this Frame relay device 30. In this example, the Framerelay device 30 is constructed of two repeaters and the storageapparatus 10 is connected to a first repeater Frame relay device A. Thisfirst stage Frame relay device A is connected to Frame relay devices B,C of second stages. The Frame relay devices B, C of the second repeaterare connected to the respective host machines A, B, C, D.

The storage apparatus 10 comprises a storage device 11 for storing datasuch as HDD, and a storage controller unit 12 for controlling datawrite/read with respect to this storage device 11. In this example, anexpansion chassis is provided as well as a base chassis so that thememory capacity of the storage device 11 is increased.

The storage controller unit 12 comprises a channel control unit 13 whichreceives data input/output request from the host machine 50, a diskcontrol unit 14 for controlling data write/read with respect to thestorage device 11, a data controller 15 for controlling datatransmission between the channel control unit 13 and the disk controlunit 14, a CPU 16 for controlling the storage controller unit 12, acache memory 17 in which data exchanged between the channel control unit13 and the disk control unit 14 is stored temporarily, a memory 18 forstoring control information and the like. Particularly, the cache memory17 is provided with various kinds of tables 17 a such as a route table,an external cache table and the like, although their details will bedescribed later.

The Frame relay device 30 comprises an AC/DC power supply 31 forconverting an AC power to DC power, a battery 32 for use when supply ofthe AC power is failed, a CPU 33 for controlling the Frame relay device30, a data controller 34 for controlling data transmission, a cachememory 35 for storing data exchanged between the host machine 30 and thestorage apparatus 10 temporarily, a memory 36 for storing controlinformation, a director 37 composed of an I/IF and the like.Particularly, although described later, the cache memory 35 is providedwith various kinds of tables 35 a such as the route table, the cachecontrol table and the like.

[Route Table and External Cache Table in the Storage Apparatus andCreation Methods Thereof]

Examples of the route table and external cache table in the storageapparatus will be described with reference to FIGS. 4-6. FIG. 4 showsthe configuration of the route table, FIG. 5 shows the configuration ofa route table (application example) and FIG. 6 shows the configurationof the external cache table.

(1) Route Table

As shown in FIG. 4, the route table has respective areas for storing ahost identifier, number of Frame relay device stages, handles and thelike as information of the host machine 50 for each port of the storageapparatus 10. The respective route table also has respective areas forstoring Frame relay device identifier, handle and the like asinformation of the Frame relay device 30. A route from each port of thestorage apparatus 10 to the host machine 50 through the Frame relaydevice 30 is controlled according to this route table.

If plural host machines 50 exist on the same route, they may becontrolled altogether as a node group. In this case, as shown in FIG. 5,the host identifier, number of Frame relay device stages, handle 1,handle 2, handle 3 and handle 4 are stored in the route table. Thisexample indicates that in both node A and node B, “A1” in the handle 1are of the same segment.

(2) External Cache Table

As shown in FIG. 6, the external cache table has respective areas forstoring top LBA, data length, handle 1, data identification tag, handle2, data identification tag, last access time and the like. In thisexample, data whose top LBA is 00010000 and data length is 40000 iscached in the Frame relay devices 30 of A1 and B1. Further, data whosetop LBA is 100ABCDE and data length is 12400 is cached only in the Framerelay device 30 of B1.

(3) Creation Method of Table

First, when linkage between each port of the storage apparatus 10 andthe Frame relay device 30 is established, the storage apparatus 10recognizes the Frame relay device 30 which is connected directly to eachport. Next, when the host machine 50 of the node A is initialized, thestorage device 11 is scanned with inquiry command or the like.

Further, when the storage apparatus 10 receives an initial command fromthe host machine 50, the storage apparatus 10 responds to that commandand makes an upper level Frame relay device 30 report a Frame relaydevice identifier (bridge ID, port ID) to the node. Then, the storageapparatus 10 stores the identifiers reported by each Frame relay device30 in its table and assigns an arbitrary handle to each identifier. Atthis time, by assigning the handles in ascending order from a side nearthe storage apparatus 10 for each node, they are controlled as well asthe position of the Frame relay device 30.

In the meantime, a load balance control method by expansion of thisfunction will be described with an application example 1 describedlater. Further, the assignment about which Frame relay device 30 is madeto cache data in order to reduce data volume of a Frame relay devicehaving a slow transmission speed using information about communication(link) cost controlled by the Frame relay device 30 can be easilychanged.

[Route Table and Cache Control Table in Frame Relay Device and CacheRelating Operation]

An example of the cache control table in the Frame relay device will bedescribed with reference to FIG. 7. FIG. 7 shows the configuration ofthe cache control table.

(1) Route Table

Each Frame relay device 30 executes discovery process of selectingnetwork path of each segment used first with spanning tree algorithm(STA). In case of LAN switch, this information is shared by every switchusing a special network frame called bridge protocol data unit (BPDU).Each switch holds a BPDU table and updates it continuously.

(2) Cache Control Table

As shown in FIG. 7, the cache control table has respective areas forstoring top address, data length, data identifier (data, tag), deviceidentifier and last access time and the like.

(3) Destroying of Data Cached in Frame Relay Device

The Frame relay device 30 executes destroying (deletion) of the cacheddata in following cases (a) to (c).

(a) Data which is not requested to be transferred longer than a specifictime (only a corresponding data, however if there is a remainingcapacity in the cache memory, this does not always need to be executed.)

(b) When the storage apparatus becomes non-responsive due to turned offa power or the like, then that entry is deleted from the route table.(All data in the corresponding storage apparatus are deleted.)

(c) If the remaining capacity of cache memory is smaller than datarequested to be cached, then deleting data (or plural data) having lowaccess frequency by the storage controller unit or if cache memorycapacity is assigned to a storage corresponding to the access frequency,data having low access frequency (or plural data) are deleted withoutlimiting any storage controller unit.

Consequently, an operation for increasing the cache hit efficiency iscarried out.

(4) Report of Cache Memory Capacity Which can be Assigned to a StorageController Unit and Sending of Capacity Confirmation Request Message

In the case where plural storage controller units 12 are connected underthe Frame relay device 30, if the cached data on other storagecontroller unit is constantly destroyed in accordance with a new cacherequest, the overhead increases and the response may slow down.

Then, it is possible to provide each unit of the storage controller unit12 with a function to preliminarily enables assigning a cache area of aspecific capacity. The storage controller unit 12 grasps a capacity tobe assigned to itself by inquiry and controls not to make cache requestmore than necessary to the Frame relay device 30 in order to optimizealgorithm.

If there are not so many subject storage controller units 12 or there isgenerated a capacity in the assignment area due to a released area bypower OFF or the like, a confirmation request about the assignedcapacity is sent from the Frame relay device 30 to the storagecontroller unit 12. Then, the storage controller unit 12 inquires withthe Frame relay device 30 about a capacity capable of being assigned toreadjust cache control algorithm on the side of the storage controllerunit 12.

When a new storage controller unit 12 is initialized, cache memorycapacity is newly assigned thereto. If there generated necessity toreduce the capacity of the storage controller unit 12 that had beenalready connected, the confirmation request for the assigned capacity isalso sent from the Frame relay device 30 to the storage controller 12.Then, the storage controller unit 12 inquires again and at the sametime, identification tag of the cached data that is deleted accompaniedby releasing of the area and the like are reported following a requestfrom the storage controller unit 12.

According to this function, the storage controller unit 12 determineswhether or not the Frame relay device 30 is equipped with this function.Additionally, it is possible to verify whether or not there exists thefunction using switch management protocol (SMP) or the like.

[Procedure of Processing from the Storage Apparatus to the Frame RelayDevice (Linkage Operation Between the Storage Apparatus and the FrameRelay Device)]

<1> Processing for Making the Frame Relay Device Cache

An example of processing for making the Frame relay device cache will bedescribed with reference to FIGS. 8 and 9. FIGS. 8 and 9 show a flow ofthis processing. FIGS. 8 and 9 show a processing for transmitting datacached in the <2> Frame relay device described later to the hostmachine.

This processing is carried out as the operations of the storageapparatus 10 (storage controller unit 12) and the Frame relay device 30at the time of data read from the host machine 50.

(1) The storage controller unit 12 receives a read command based on aread request from the host machine 50.

(2) The storage controller unit 12 searches a cache table in the Framerelay device 30 on a route of the host machine 50 in order to recognizethe route of the host machine 50.

(3) The storage controller unit 12 issues a cache command (data tag,memory byte count and the like) to the Frame relay device 30 on theroute of a target host machine 50 in order to cache subsequent dataprior to data transmission. At this time, the command transmission tothe Frame relay device 30 is carried out by specifying an ID of theFrame relay device 30. Further, for example, the data transmission iscarried out with fiber channel or the like and it is possible to employa method for sending or receiving a command with other I/F, for example,LAN. In case of large data, its own access response time is covered by acommand for making the Frame relay device 30 cache part of that data.

(4) The storage controller unit 12 transmits data to the Frame relaydevice 30.

(5) The Frame relay device 30 transmits data to the host machine 50 andcaches specified data associated with a tag. A frame header at this timeand the like are stored partially as a model for reuse. At this time,corresponding to a cache request from the storage controller unit 12,the Frame relay device 30 reports a status to the storage controllerunit 12. If the cache process is successful, identification tag createdby the Frame relay device 30 as well as data tag from the storagecontroller unit 12 are reported to the storage controller unit 12.

In the meantime, if the cache process is not successful, there are twomodes (a), (b) as follows (may occurs at other time than a failure).

(a) A status of cache failure is sent back. This includes a case wherenothing but data smaller than a byte count requested by the storagecontroller unit 12 could be stored as well as includes a case wherenothing could be stored. If partial memory succeeds, informationcontaining byte quantity stored by the Frame relay device 30 is reportedat the same time. At this time, the byte count to be stored is preferredto be integral multiple of the block length handled by the storagecontroller unit 12 in case of the block type SAN storage. Further incase of the file type NAS, it is preferred to be in the unit of byte orintegral multiple of the data length excluding the header of the IPframe, which is an effective method.

(b) Old data corresponding to an ID of the storage controller unit 12 iscleared to cache new data and the identification tag of the new data andthe deleted identification tag (or plural tags) of the old data arereported. The storage controller unit 12 deletes the corresponding entryfrom an internal table (deletes a cache log) in order to indicate thatthe corresponding data is not cached based on information of the tagdeleted from the cache memory 35 by the Frame relay device 30.

(6) If the cache request to the Frame relay device 30 is completednormally, the storage controller unit 12 destroys the data requested forthe Frame relay device 30 to cache from the cache memory 17 of thestorage controller unit 12 to release the data area and then, storesonly cache log (data identification tag, data length and the like)

(7) The storage controller unit 12 reports a normal end status to thehost machine 50.

Consequently, the processing for caching in the Frame relay device 30 iscompleted.

<2>Processing in Case for Transmitting the Data Cached in the FrameRelay Device to the Host Machine

An example of the processing for making the Frame relay device transmitthe cached data will be-described with reference to FIGS. 8, 9. FIGS. 8,9 show a flow of this processing.

This processing is executed as operations of the storage apparatus 10(storage controller unit 12) and the Frame relay device 30 at the timeof data read from the host machine 50.

(1) The storage controller unit 12 receives a read command based on aread request form the host machine 50.

(2) The storage controller unit 12 searches the cache table of the Framerelay device 30 on a route to the host machine 50 to recognize the routeto the host machine 50,

(3) If a corresponding data exists on the cache memory 35 of the Framerelay device 30, the storage controller unit 12 issues a cache datatransmission command (host address, data identification tag,transmission byte count and the like) to the Frame relay device 30. Atthis time, if a trouble occurs in the cache memory 35 of the Frame relaydevice 30, by responding to a data transmission instruction from thestorage controller unit 12 saying that it is impossible to execute, thestorage controller unit 12 executes the data transmission and it ispossible to instruct the Frame relay device 30 to cache thecorresponding data. Further, if that corresponding data is volatilizeddue to power OFF/ON of the Frame relay device 30, it is reported that itis impossible to execute. In this case, the storage controller unit 12can instruct the Frame relay device 30 to cache the data sent by thestorage controller unit 12 again.

(4) If data exists in the cache memory 35 of the Frame relay device 30,the Frame relay device 30 transmits that data to the host machine 50(part of the header portion and the like is automatically generated).

(5) If data not existing in the cache memory 35 of the Frame relaydevice 30 is included, the storage controller unit 12 accesses remainingdata ((2), (3) are executed at the same time).

(6) If transmission of all data in the Frame relay device 30 iscompleted, the Frame relay device 30 reports data transmissiontermination to the storage controller unit 12 or a status for announcingthe termination in advance.

(7) If there exists remaining data, the storage controller unit 12transmits the remaining data to the host machine 50 subsequent to datagenerated by the Frame relay device 30.

(8) The storage controller unit 12 reports normal end status to the hostmachine 50. Consequently, the processing of transmitting the data cachedin the Frame relay device 30 to the host machine 50 is completed.

<3> Processing for Making the Frame Relay Device Destroy Cached Data (atthe Time of Data Updating)

An example of the processing for destroying data cached by the Framerelay device (updating data) will be described with reference to FIG.10. FIG. 10 shows a flow of this processing. FIG. 10 also indicateslater described <4> Processing for destroying the data cached in theFrame relay device (at the time of storage apparatus initialized).

This processing is executed as operations of the storage device 10(storage controller unit 12) and the Frame relay device 30 at the timeof data write from the host machine 50.

(1) The storage controller unit 12 receives a write command due to awrite request from the host machine 50.

(2) The storage controller unit 12 searches the cache table of the Framerelay device 30 on a route to the host machine 50 in order to recognizethe route to the host machine 50.

(3) When old data of the corresponding data exists in the cache memory35 of the Frame relay device 30, the storage controller unit 12 issues acached area release command of the corresponding data issued to theFrame relay device 30 in order to instruct the Frame relay device 30 todestroy (delete) the cached data corresponding to the old data of theupdated data.

(4) The Frame relay device 30 deletes the corresponding data in thecache memory 35 and release the cached area.

(5) The Frame relay device 30 reports a deletion completion status ofthe corresponding data to the storage controller unit 12. Consequently,the processing of case for destroying data cached in the Frame relaydevice 30 (at the time of updating data) is completed.

<4> Processing for Destroying the Data Cached in the Frame Relay Device(at the Time of Storage Apparatus Initialized)

An example of the processing for destroying data cached in the Framerelay device (at the time of storage apparatus initialized) will bedescribed with reference to FIG. 10. FIG. 10 shows a flow of thisprocessing.

This processing is executed as operations of the storage apparatus 10(storage controller unit 12) and the Frame relay device 30 at the timeof initialization of the storage apparatus,

(1) The storage apparatus 10 is initialized (including restart). At thistime, the cache table is initialized.

(2) The storage controller unit 12 broadcasts its own ID information andall cached area release command in order to instruct all the Frame relaydevices 30 to clear the cached area relating to itself.

(3) The Frame relay device 30 deletes the corresponding data in thecache memory 30 and releases the corresponding cached area. In thiscase, although it is not necessary to report the termination of theprocessing, the Frame relay device 30 may perform the end report of theprocess for the storage controller unit 12 to recognize the Frame relaydevice 30 on the route. Further, instead of broadcasting, the hostmachine 50 may transmit separately a command to the Frame relay device30 on the route when host machine 50 recognizes the storage controllerunit 12.

As a result, the processing in the case of destroying the data cached inthe Frame relay device 30 (at the time of storage apparatus initialized)is completed.

<5> Processing in Case of Instructing the Frame Relay Device to CompareCached Data

An example of the processing in case of instructing the Frame relaydevice to compare the cached data will be described with reference toFIGS. 11, 12. FIGS. 11, 12 show a flow of this processing.

When data read is executed from the host machine 50, if the same data iscached in the first Frame relay device (side near the host machine 50)and the second Frame relay device (side near the storage apparatus 10),this processing is executed as operations of the storage apparatus 10(storage controller unit 12) and the first and second Frame relaydevices 30.

(1) The storage controller unit 12 receives a read command based on aread request from the host machine 50.

(2) The storage controller unit 12 searches the cache table of the Framerelay device 30 on a route to the host machine 50 in order to recognizethe route to the host machine 50.

(3) If a corresponding data exists in the cache memory 35 of the Framerelay device 30, the storage controller unit 12 issues a verificationcommand for that corresponding data in order to instruct the first Framerelay device 30 (for check by comparing) about host address, dataidentification tag, transmission byte count, check destination Framerelay device ID and the like.

(4) If the corresponding data exists in the cache memory 35 of the Framerelay device 30, the storage controller unit 12 issues a cache datatransmission command in order to instruct the second Frame relay device30 (for data transmission) about host address, data identification tag,transmission byte count, check destination Frame relay device ID and thelike.

(5) The second Frame relay device 30 that transmits data notifies thefirst Frame relay device 30 that checks data, prior to the datatransmission, that transmission of the corresponding data is started.

(6) The second Frame relay device 30 transmits the corresponding datafollowing the same procedure as subsequent to the above-described <2>(4).

(7) The first Frame relay device 30 relays the data to the host machine50 and at the same time, compares with data in its own cache memory 35.

(8) Corresponding to a result of the check, the following operations(a), (b), (c) are carried out.

(a) If the check is normal, the first Frame relay device 30 reportsnormal end status to the storage controller unit 12 and the second Framerelay device 30 from which the data is transmitted. Further, the storagecontroller unit 12 reports a normal end status to the host machine 50.

(b) If the check is disabled, the first Frame relay device 30 reportsabnormal end status due to disabled check to the storage controller unit12 and the second Frame relay device 30 from which the data istransmitted. In this case, the Frame relay device 30 of the sendingdestination deletes the corresponding cached data without any datasending. Further, the storage controller unit 12 can instruct the Framerelay device (Frame relay devices) 30 on the route to cache thecorresponding data as well as transmit data to the host machine 50.

(c) If the check is abnormal, the first Frame relay device 30 reportsthe abnormal end status due to check abnormality to the storagecontroller unit 12 and the second Frame relay device 30 from which thedata is transmitted. In this case, because transmission of data to thehost machine 50 is completed, the storage controller unit 12 reports theabnormal end status to the host machine 50. Further, the Frame relaydevices 30, which are sending destination and sender, delete thecorresponding cached data. Corresponding to a re-execution request fromthe host machine 50, the storage controller unit 12 can instruct theFrame relay devices 30, which are sending destination and sender, tocache the corresponding data as well as transmit data.

In the above-described example, when the Frame relay device 30 reportscheck abnormality to the storage controller unit 12, the remaining datasubsequent to the abnormal detection may be transferred to the storagecontroller unit 12 by reporting the data position and the like of afinal frame which is checked normally to the storage controller unit 12.

Consequently, the processing in case of instructing the Frame relaydevice 30 to comrpare the cached data is completed.

Effect of this Embodiment

(1) In case of a cache hit, because nothing but a short frame forinstruction/response to/from the Frame relay device 30 is transmitted orreceived between the storage apparatus 10 and the Frame relay device 30,band occupation rate can be reduced with respect to the case of datatransmission. Further, because generally the transmission bandwidth ofthe Frame relay device 30 is wider than the transmission bandwidth ofthe storage apparatus 10, the same effect as improvement of thetransmission performance of the storage apparatus 10 can be obtained.Further, because the Frame relay device 30 executes nothing but aspecified response, the hardware (circuit scale) can be constructedrelatively simply.

(2) According to this method, the response of the entire system to aread request from the host machine 50 can be improved without consumingdata transmission band. Also by assigning the usage rate of the cachememory for read and write largely to write on the side of the storageapparatus 10, the performance of the write processing can be improved.Alternatively, the number of the memories provided in the storageapparatus 10 can be reduced and there is an advantage for contributingto reduction of cost.

(3) In an application having plural ports and for executing a processingfrom the plural host machines 50, by installing the Frame relay device30 on the route to each host machine, necessary data is cached for eachhost machine on each route. Consequently, further improvement ofresponse can be expected.

(4) If plural Frame relay devices 30 on the route are made to cache thesame data, the improvement of data reliability can be achieved byinstructing the Frame relay device 30 on the side near the host machine50 to execute comparison check on data so as to check data from a Framerelay device 30 located on the lower level.

(5) By providing the battery 32 in the Frame relay device 30 toincorporate the UPS, even under power failure, a shut-down processingfrom the host machine 50 connected to the UPS can be relayedappropriately. Further, a destage request to the storage apparatus 10can be transmitted independently.

APPLICATION EXAMPLE 1

This application example refers to an example in which when a routetable is created within the storage apparatus according to the tablecreation method of the above-described embodiment, automatic loadbalance control means is realized by the procedure described later andthe function provided for the Frame relay device.

An example of a model of the storage network system of this applicationexample will be described with reference to FIG. 13. FIG. 13 shows themodel of the storage network system of this application example.

The model of the storage network system of this application examplecomprises a storage apparatus 10 constituted of a disk array unit andthe like, eight Frame relay devices A-H (30) for relaying datawrite/read request from the host machine to this storage apparatus 10and six host machines A-F (50) constituted of information processingunits connected to this Frame relay device 30 and the like.

An example of the processing in case of realizing automatic load balancecontrol will be described with reference to FIG. 14. FIG. 14 shows aflow of this processing.

(1) Following the table creation method of the above-describedembodiment, the storage apparatus 10 recognizes the Frame relay device30 located on the route of the host machine 50.

(2) If a substitutive port (sub-port: second port) for a first port isset up in the storage apparatus 10, the storage apparatus 10 searchesthe Frame relay device 30 on the route of the node A using the sub-portand specifies, for example, a Frame relay device B corresponding to abranch between the first port and the sub-port. That is, it inquires aFrame relay device E about the position (port) and distance (number ofrepeaters of the Frame relay devices) of the Frame relay devices A, B, Din FIG. 13.

(3) If the transmission load to the first port is more than a specificcapacity, the storage apparatus 10 sets up a permission of assigningdata to the sub-port to the Frame relay device B.

For example, if the Frame relay device 30 controls the load balance whenthe write load from the host machine 50 is excessive, following occurs.If the data transmission load of a port X leading to the first port ofthe storage apparatus 10 exceeds a value set by the storage apparatus 10or is estimated to exceed, the Frame relay device B outputs part of datato a port Y leading to the sub-port of the storage apparatus 10 in orderto control to maintain the transmission load from the host machine 50below a specified level.

(4) For example, if when the read load from the host machine 50 isexcessive, the storage apparatus 10 controls the load balance, followingoccurs. If the data transmission load of the first port of the storageapparatus 10 exceeds a specified value in the storage apparatus 10 or isestimated to exceed, the storage apparatus 10 outputs part of data tothe sub-port of the storage apparatus 10 to control to maintain thetransmission load of the first port below a specified level. Further,the Frame relay device A and the Frame relay device E relays data ofeach port to a target node (normal operation).

As an effect of this application example, by recognizing the Frame relaydevice 30 and the port with bridge ID or the like, automatic loadbalance control can be achieved without necessity of any support such asa program of the host machine 50.

APPLICATION EXAMPLE 2

This application example refers to an example of a configuration inwhich a Frame relay device is disposed at back end and by increasing thememory capacity on the Frame relay device tremendously to use the largecapacity memory as a cache memory of the storage controller unit or ashared memory. And the cache memory and the like on the storagecontroller unit is not provided.

An example of mounting on the blade type system in the storage networksystem of this application example will be described with reference toFIG. 15. FIG. 15 shows the appearance of the mounting on the blade typesystem.

As for the mounting onto the blade type system, a storage controllerunit, a back end type Frame relay device; a storage device unit and afront end type Frame relay device are disposed in order from the top ina chassis. A power supply unit is disposed on the rear face.

This system facilitates installation of additional memory during powerON or can expand a necessary additional cache memory in accordance withan expansion of the chassis. Further, by linkage with the disk controlunit, tuning such as optimization of through-put can be carried outeasily.

An example of the storage network system of this application examplewill be described with reference to FIG. 16. FIG. 16 shows thefunctional blocks of the storage network system.

The storage network system of this application example comprises astorage apparatus 10a composed of a disk array unit and the like, twofront end (F.E) type Frame relay devices A, B (30) disposed on the sideof the host machine for relaying data write/read request from the hostmachine to this storage apparatus 10a, four back end (B.E) type Framerelay devices C-F(40) disposed on the side of the storage apparatus andfour host machines A-D (50) each composed of information processing unitconnected to the Frame relay device 30 and the like.

The back end type Frame relay device 40 controls two differentinterfaces for SAS I/F and serial I/F (PCI express) for memory controlwith independent switch function. This Frame relay device 40 hassubstantially the same configuration as the Frame relay device 30described before (FIGS. 17, 18 described later). However, the cachememory 45 of the Frame relay device 40 for back end is used as a cachememory of the storage apparatus 10 a. Although the cache memory 45 andthe shared memory 46 are separated for operation, they do not need to beindependent of each other in terms of hardware. Further, the AC/DC power41 of the Frame relay device 40 for back end is shared within thestorage apparatus 10 a.

Because the Frame relay device 30 for front end has the same structureand operation as the above-described Frame relay device 30, descriptionthereof is omitted.

As for notification from this system to other system, rewrite of thememory or the like is notified to other system using a messagetransaction function such as PCI express. In the meantime, conversionbetween the PCT-express and SAS is not carried out (although the cachememory is shared, it operates as independent two switches). As for writeto a duplicated section such as the cache memory, the relay apparatus 40executes duplicating write with a header that accompanies a deviceidentifier of the relay apparatus 40 attached. That is, the frame iscomposed of header information comprising flag specifier, Frame relaydevice ID of own system device, address specifier, Frame relay device IDof other system device, address specifier, data length and the like anddata. Consequently, single time data transmission can satisfy therequirement and traffic can be reduced further. Or it is possible tocreate a multi-cast group with the own system and other system Framerelay devices 40 to multi-cast data.

At the time of cache read, like the above-described embodiments, othersystem Frame relay device is instructed to send data and when it passesthe own system Frame relay device, the own system Frame relay deviceverifies the data or the other system Frame relay device is instructedto send only a verification code of that data in order to make the datatransferred by the own system Frame relay device verified by the datacontroller side. Consequently, both reduction of the frequency band andhigh reliability can be achieved without increasing data transmissionvolume largely.

An example of the structure of the back end type Frame relay device willbe described with reference to FIGS. 17 and 18. FIGS. 17 and 18 show theinternal block of the back end type Frame relay device while FIG. 17indicates a configuration example of the single CPU and FIG. 18indicates a configuration example of double CPUs.

As shown in FIG. 17, the Frame relay device 40 for back end composed ofa single CPU includes a battery 42, a CPU 43, a data controller 44, acache memory 45, and a memory 46 in common. A director (for SASinterface) 47 a of a SAS expander (switch) unit and a director (forPCI-express) 47 b of a PCI-express switch unit are connected to the datacontroller 44. The cache memory 45 is used partially as a shared memoryand includes various kinds of tables 45 a such as route table.

As contracted to the single CPU structure, as shown in FIG. 18, theFrame relay device 40 for back end having double CPUs includes a CPU 43,a data controller 44 and a memory 46 in each of the SAS expander(switch) unit and PCI-express switch unit. Under this configuration, theSAS expander unit and the PCI-express switch unit are comprised ofcompletely independent hardware.

In the meantime, if a protocol converting unit (I/F converting function)is mounted on the data controller 44 and the PCI-express is changed toLAN, a Frame relay device described later [application example 3] isproduced.

An example of processing at the time of data write into a disk (HDD) ofthe storage device will be described with reference to FIGS. 19 and 20.FIGS. 19 and 20 show a flow of this processing.

This processing is executed as operations of the storage apparatus 10and the Frame relay device 40 at the time of data write.

(1) The storage apparatus 10 a receives a write command from the hostmachine 50.

(2) The channel control unit 13 notifies the data controller 15 ofreceiving the write command and transmission data length.

(3) If the received write data is new data and there is sufficient emptyarea in the cache memory 45 of the Frame relay device 40, the datacontroller 15 determines a cache area in the Frame relay device 40 forstoring the data.

(4) The data controller 15 issues a data cache command to both the Framerelay devices 40 and notifies other system data controller 15 withmessage transaction.

(5) The channel control unit 13 transmits write data to the both Framerelay devices 40 through the data controller 15. At this time, if paritydata is used, the data controller 15 generates parity and transmits tothe Frame relay devices 40 of the both systems in the same way.

(6) The data controller 15 instructs the disk control unit 14 to writeinto disk and instructs the Frame relay device 40 to send data to thecorresponding disk.

(7) The disk control unit 14 issues a disk write command. At this time,the Frame relay device 40 relays that command to that corresponding diskand subsequently, sends write data to the disk unit.

(8) After the data transmission processing is completed, the CPU 43 ofthe Frame relay device 40 reports a status to the data controller 15.

(9) Then, if it is completed normally, the disk unit records data andreports the status. At this time, the Frame relay device 40 relays thestatus to the disk control unit 14. Further, the disk control unit 14reports execution termination to the data controller 15. Then, if it iscompleted normally, the processing at the time of data write to the diskis completed.

(10) If the received write data is not a new data or there is nosufficient empty area in the cache memory 45 of the Frame relay device40, the data controller 15 issues cached area release command for theFrame relay device 40 to the unnecessary Frame relay devices 40 of boththe systems and notifies the data controller 15 of other system throughmessage transaction. Further, the CPU 43 of the Frame relay device 40releases the corresponding cached area and reports the status to thedata controller 15.

(11) Unless it is completed normally after the CPU 43 of the Frame relaydevice 40 releases the cached area, the data controller 15 notifies thedata controller 15 of other system through message transaction. Further,the CPU 16 of the storage controller unit 12 executes error processingto the Frame relay device 40. Consequently, the processing is completed.

An example of processing at the time of data read from a disk (HDD) ofthe storage device will be described with reference to FIGS. 21 and 22.FIGS. 21 and 22 show a flow of this processing.

This processing is executed as operations of the storage apparatus 10 aand the Frame relay device 40 at the time of data read.

(1) The storage apparatus 10 a receives a read command from the hostmachine 50.

(2) The channel control unit 13 notifies the data controller 15 ofreception of read command and transmission data length.

(3) If there exists no corresponding data in the cache memory 45 of theFrame relay device 40 or there exists part of the corresponding data andreading of a portion other than cached data is carried out, the datacontroller 15 instructs the disk controller 14 to read out from the diskand issues a cache command of the corresponding data to the Frame relaydevice 40.

(4) The disk unit transfers the data. Then, the Frame relay device 40 ofthe first port sends the data to the disk control unit 14 and the Framerelay device 40 of other system and caches the data. Further, thechannel control unit 13 sends the data to the host machine 50.

(5) If transmission of all data is completed, the CPU 43 of each Framerelay device 40 reports a status to the data controller 15.

(6) If it is completed normally, the data controller 15 notifies thedata controller 15 of other system through message transaction that thecached data is updated. Consequently, the processing at the time of dataread from the disk is completed.

(7) In reading of case where complete corresponding data exists in thecache memory 45 of the Frame relay device 40 or reading cached data withpart of the corresponding data left, the data controller 15 issues acache data transmission command to the Frame relay device 40 of othersystem and a verification command for the corresponding data to theFrame relay device 40 of own system.

(8) The Frame relay device 40 of other system sends data to the Framerelay device 40 of own system and this Frame relay device 40 of ownsystem compares with corresponding data in the cache memory 45. If datameet as a result of this comparison, the Frame relay device 40 of ownsystem relays data to the data controller 15 and this data controller 15sends that data to the channel control unit 13. Then, the channelcontrol unit 13 sends that data to the host machine 50.

(9) If transmission of all data is completed, the CPU 43 of each Framerelay device 40 reports a status to the data controller 15. (10) If itis completed normally, the processing is finished. If the dataverification is completed abnormally, the data controller 15 notifiesthe data controller 15 of other system of the abnormality generationthrough message transaction. Then, the CPU 16 implements errorprocessing to the Frame relay device 40. Consequently, the processing iscompleted,

As described above, the disk control unit 14 of the storage apparatus10a is released from data transmission so that multiplexing of commandis facilitated thereby realizing effective use of the band.

APPLICATION EXAMPLE 3

This application example refers to an example in which the protocolconverting unit is mounted on the back end type Frame relay device inorder that data can be exchanged with conversion function between twosystems interfaces that are provided independently in the abovedescribed application example 2.

An example of the storage network system of this application examplewill be described with reference to FIG. 23. FIG. 23 indicates thefunctional blocks of the storage network system,

The storage network system of this application example comprises astorage apparatus 10 b composed of a disk array unit and the like, threefront end (F. E) type Frame relay devices A-C (30) disposed on the sideof the host machine for relaying data read/write requests from the hostmachine to the storage apparatus 10 b, four back end (B.E) type Framerelay devices DOG (40a) disposed on the side of the storage apparatusand four host machines A-D (50) composed of information processing unitconnected to the Frame relay device 30 and the like.

The back end type Frame relay device 40 a has the protocol convertingunit 48 as I/F conversion function. Because the Frame relay device 40 ahas the same structure and operation as the back end type Frame relaydevice 40 described above except in this protocol converting unit 48,description thereof is omitted. Further, because the front end typeFrame relay device 30 has the same structure and operation as theabove-described front end type Frame relay device 30, descriptionthereof is omitted.

Generally, if the capacity of the cache memory is the same, there issuch a problem that as the data capacity of the storage increases, thecache hit rate drops. However, because in this application example, thecache memory is extended to each expansion chassis of the HDD, the ratiobetween the cache memory capacity and the data capacity can be madeconstant, so that the drop of the cache hit rate can be prevented.

Although according to the conventional method employing FC loop for theback end, the expansion chassis can be connected only in series,according to this method, the expansion chassis can be disposed inparallel. Hot swap of each expansion chassis or maintenance thereof byseparation is possible which is used to be impossible. Further, there issuch a merit that the expansion chassis except a last one can beexchanged during power ON. Further, because through pass decreases ascompared to the series connection, the transmission band can be usedeffectively. Additionally, the freedom in layout of the units is large.In the meantime, near-line storage such as SAS can be connected underthe structure of WAN.

In this application example, a measure for carrying out protocolconversion between different type interfaces (LAN-FC) at a low load hasbeen taken and this will be described below.

An example of the mechanism for facilitating the conversion with otherserial data transmission protocol will be described with reference toFIG. 24. FIG. 24 shows the mechanism for FC-LAN conversion.

In the method using 10 b (bit) −8 b conversion used widely in fiberchannel which is serial l/F for storage apparatus, SAS and the like,protocol conversion is not necessary and what is necessary is to passprotocols mutually and analyze the identifier of each protocol headerand distribute it to an appropriate port. However, because in case ofLAN, often the above-mentioned 10 b-8 b conversion is not used exceptoptical transmission interface such as 1000BASE-FX, a large-scaleprotocol conversion is necessary if no other measure is taken, whichleads to increase of circuit scale thereby causing complexity andincrease of cost.

Thus, according to this method, as shown in FIG. 24, fortransmission/reception of order set with control code (Kxx.x) notexisting in LAN not meeting the 10 b-8 b, the identifier such as MACaddress is changed (for example, incremented by 1) and sent as data (forexample, equivalent to Dxx.x).

Data link between each port and device/other Frame relay device ininitial condition is established according to the conventional method.For example, idle frame and R_RDY of its response are carried out onlyby the FC side link and are not outputted to the LAN side.

As a result, for example, network transfer speed of the LAN is higherthan the transfer speed of SAS or the like. In this case, time losscaused by data volume increment due to frame divisions and by overheadassociated with data conversion can be cancelled. Then after theconversion, it becomes physical layer data of a mating side. Thus, theconversion is enabled without making so conscious of the protocol of themating side. For example, only adjustment of an important portion interms of timing is necessary. Of course even if the protocol conversionaccording to ordinary method is carried out, the above-mentionedconfiguration can be constructed.

An example of the processing for FC-LAN conversion will be describedwith reference to FIG. 25. FIG. 25 shows a flow of the FC-LAN conversionprocessing. In the meantime, conversion of LAN-FC is carried out byinverse conversion of this conversion.

This processing is carried out as an operation of the protocolconverting unit 48 in the Frame relay device 40 a when SC frame isreceived.

(1) The Frame relay device 40 a receives an FC frame.

(2) The protocol converting unit 48 analyzes the frame header byextracting destination address. Then, the protocol converting unit 48searches in the route table of the destination address.

(3) If in case of LAN port output, the order set includes (Kxx.x), theprotocol converting unit 48 converts (Kxx.x) to code D(xx.x) and outputsto a specified LAN port as the frame of a second MAC address. Then, ifthe frame conversion is completed, the processing of FC-LAN conversionis completed.

(4) Not in case of LAN port output, the protocol converting unit 48outputs a frame to a specified FC port. Consequently, the processing iscompleted.

(5) If the order set does not contain (Kxx.x), the protocol convertingunit 48 accumulates first MAC address frame.

(6) If the frame conversion is completed, the protocol converting unit48 outputs to a specified LAN port as first MAC address frame.Consequently, the processing is completed.

(7) If the frame conversion is not completed, the protocol convertingunit 48 determines whether or not next order set contains (Kxx.x). If asa result of this determination, (Kxx.x) is contained, the protocolconverting unit 48 outputs to a specified LAN port as first MAC addressframe. If the frame conversion is not completed or even if next orderset does not contain (Kxx.x), the protocol converting unit 48 moves apointer to next order set and repeats the processing.

Consequently, due to the conversion function of the protocol convertingunit 48, the two interface systems allow data to be brought to orreceived from each other.

The specific embodiments of the present invention which the presentinventors have achieved have been described above. The present inventionis not restricted to the above-mentioned embodiments but needless tosay, may be modified in various ways within the scope not departing fromthe gist of the invention.

INDUSTRIAL APPLICABILITY OF THE INVENTION

The present invention relates to a storage network system and iseffective when it is applied to the storage network system, particularlya network system in which Frame relay devices are disposed between hostmachines and storage apparatus and can be widely applied to networkFrame relay devices such as network switch, router in NAS and fiberchannel switch, SAS expander in SAN and the like.

1. A storage network system comprising; a storage apparatus having astorage device for storing data therein and a storage controller unitfor controlling data write and data read to the storage device; and aFrame relay device for relaying data write request and data read requestfrom a upper level apparatus to the storage apparatus, wherein the Framerelay device contains a cache memory for storing read data transmittedfrom the storage apparatus, wherein the storage apparatus carries outprocessing of before the data sending to the Frame relay device, issue acommand for storing the data in the cache memory of the Frame relaydevice when receiving data read request from the upper level apparatus,and processing of issuing a command to the Frame relay device to sendthe data to the specified upper level apparatus if the any specifiedupper level apparatus issues a read request for the same data again, andthe Frame relay device carries out processing of sending the data storedin its own cache memory to the specified upper level apparatus.
 2. Thestorage network system according to claim 1 wherein the Frame relaydevice has a battery for supplying a voltage at the time of powerfailure.
 3. The storage network system according to claim 1 wherein theFrame relay device carried out processing of storing a part of the datawhen stores the data, and the storage apparatus issues a command to theFrame relay device for transmitting part of the data, and reads theremaining data in the storage device while the Frame relay device istransmitting the part of the data to said specified upper levelapparatus,
 4. The storage network system according to claim 1 wherein.the Frame relay devices are provided in plural numbers and therespective Frame relay devices are disposed between the storageapparatus and the upper level apparatus on plural routes.
 5. The storagenetwork system according to claim 4 wherein the storage apparatusincludes a means for selecting the Frame relay device and a table forcontrolling the position information of the Frame relay device in orderto issue a command to the Frame relay device.
 6. The storage networksystem according to claim 4 wherein each Frame relay device on theplural routes carries out processing of storing different data.
 7. Thestorage network system according to claim 6 wherein the Frame relaydevice carried out processing of storing a part of the data when storingthe data, and the storage apparatus carries out processing of accessingremaining data of the data in said storage device while the respectiveFrame relay devices are transmitting the part of the data to thespecified upper level apparatus.
 8. The storage network system accordingto claim 4 wherein processing of storing specified same data in pluralFrame relay devices on the same route within the plural routes iscarried out.
 9. The storage network system according to claim 8 whereina first Frame relay device specified by specification of the storagecontroller unit sends data to a second Frame relay device and the secondFrame relay device verifies the data.
 10. The storage network systemaccording to claim 9 wherein each Frame relay device, when storing thedata, carried out processing of storing part of the data and the storageapparatus carries out processing of accessing remaining data of the datain the storage device while the respective Frame relay devices aretransmitting the part of the data to the specified upper levelapparatus.
 11. The storage network system according to claim 4 whereinthe each Frame relay device carries out processing of destroying cacheddata in any case where no transmission request is made for specific dataover a predetermined time, where the storage apparatus is deleted from aroute table, case where the remaining capacity in the cache memory issmaller than data requested to be cached, or where abnormality isdetected at the time of data verification.
 12. The storage networksystem according to claim 4 wherein the each Frame relay device carriesout processing of destroying the cached data according to a command ofthe storage apparatus.
 13. The storage network system according to claim4 wherein the each Frame relay device assigns a cache area of aspecified volume to each of the storage controller unit preliminarilyand the storage controller unit grasps a capacity assigned to itself byinquiry and controls the each Frame relay device not to execute cacherequest over the assigned capacity.
 14. The storage network systemaccording to claim 4 wherein the each Frame relay device carries outprocessing of sending a message to the storage controller unit when achange over a specified level occurs in an area in which the cache areais capable of being assigned by deleting the cached data, and thestorage controller unit carries out processing of grasping again acapacity assigned to itself by inquiry in accordance with receipt of themessage.
 15. The storage network system according to claim 4 wherein thestorage apparatus selects a first port for the each Frame relay deviceand if data transmission load to the first port is over a specifiedvolume, and the storage apparatus sets permission for assignment of datato the second port corresponding to the first port.
 16. The storagenetwork system according to claim 4 wherein the each Frame relay deviceautomatically controls to output a part of the data to a second portcorresponding to the first port when the data transmission load to thefirst port is over a threshold set by the storage apparatus.
 17. Thestorage network system according to claim 4 wherein of the plural Framerelay devices, a third Frame relay device controls different interfacesof two or more kinds by independent switch functions and the cachememory provided on the third Frame relay device is accessible from eachof the different interfaces.
 18. The storage network system according toclaim 17 wherein the third Frame relay device is disposed on a back endside of the storage apparatus and connected to a device in the storageapparatus.
 19. The storage network system according to claim 17 whereinthe third Frame relay device transfers two or more duplicated data toplural devices specified by a command of the storage controller unit.20. The storage network system according to claim 18 wherein the thirdFrame relay devices are provided in plural numbers and of the pluralthird Frame relay devices, one Frame relay device specified by a commandof the storage controller unit sends data to redundant Frame relaydevice of other system and the Frame relay device of the other systemverifies the data.
 21. The storage network system according to claim 17wherein the third Frame relay devices are provided in plural numbers andof said plural third Frame relay devices, a fourth Frame relay devicehas a protocol converting unit for converting between differentinterfaces of two or more kinds and executes mutual data exchange ofdata between the different interfaces mutually.
 22. The storage networksystem according to claim 21 wherein the protocol converting unitchanges an identifier to send sending/receiving of ordered set withcontrol code as data.
 23. A storage network system comprising: a storageapparatus having a storage device for storing data and a storagecontroller unit for controlling data write and data read to the storagedevice; and plural Frame relay devices for relaying data write requestand data read request from a upper level apparatus to the storageapparatus, wherein the plural Frame relay devices have cache memory forstoring data read out from the storage device, and the storage apparatuscarries out processing of sending the data to the Frame relay devicewith addition of instructions for storing the data in the cache memoryof the Frame relay device when receiving data read request from theupper level apparatus, and processing of instructing the Frame relaydevice to send the data to a specified upper level apparatus if a readrequest for the same data occurs, the Frame relay device carries outprocessing of sending the data stored in its own cache memory to thespecified upper level apparatus, the Frame relay device carries outprocessing of storing a part of the data when storing the data, thestorage apparatus carries out processing of accessing remaining data ofthe data in said storage device while the Frame relay device istransmitting the part of the data to the specified upper level unit anda command and a frame having a short response are sent or receivedbetween the storage apparatus and the Frame relay device.